package com.xdwanj.service;

import com.xdwanj.pojo.Pet;
import com.xdwanj.pojo.User;
import com.xdwanj.util.PageBean;

public interface UserService {

    /**
     * 登陆获取User数据
     *
     * @param username 用户名
     * @param password 密码
     * @return 用户对象
     */
    User login(String username, String password);

    /**
     * 注册
     *
     * @return 用户对象
     */
    User register(User user);

    /**
     * 添加用户
     *
     * @param user
     * @return
     */
    boolean addUser(User user);

    /**
     * 更新用户密码
     *
     * @param id          用户主键
     * @param NewPassword 新密码
     * @return 成功与否
     */
    boolean updatePassword(int id, String NewPassword);

    /**
     * 更新用户数据
     *
     * @param user
     * @return boolean
     */
    boolean updateUser(User user);

    /**
     * 删除用户
     *
     * @param id
     * @return
     */
    boolean deleteUser(int id);

    /**
     * 查用户列表
     *
     * @param pageSize
     * @param currentPageNo
     * @return
     */
    PageBean<User> findUser(int pageSize, int currentPageNo);

    /**
     * 通过用户主键查询宠物列表
     *
     * @param id            用户主键
     * @param pageSize      页面大小
     * @param currentPageNo 当前页码
     * @return 宠物列表
     */
    PageBean<Pet> findPetListByUid(int id, int pageSize, int currentPageNo);

    /**
     * 通过用户名进行查询
     *
     * @param name
     * @return
     */
    PageBean<User> findUserByName(String name, int pageSize, int currentPageNo);

}
